Profiling is a type of dynamic program analysis that measures, for example, the memory used by a program, how many times a particular function is called and so on. Profile-guided optimization is a compiler optimization technique in which profiling is used to attempt to improve program runtime performance. In contrast to traditional compiler optimization techniques that only use the source code to make optimizations, profile-guided optimization uses the results of profiling test runs of instrumented programs to optimize the final generated code. As one example, a “hotspot”, a section of code that is executed frequently, can be identified by counting how many times the section of code is executed, and that code can be made more efficient.